package practice_2025_7_24;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    // 27 - 47

    /**
     * 神奇树
     * @param args
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // [a, b] 计算 神奇数 的个数
        // 两个数位组成一个 质数两位数
        int a = in.nextInt();
        int b = in.nextInt();
        int count = 0;
        for(int i = a; i <= b; i++) {
            if (judge(i)) {
                count++;
            }
        }
        System.out.println(count);
    }
    // 判断 num 能否组成一个两位数的质数
    // 153 一共 k 位, 
    // 枚举, 分别判断组成的数是否是质数
    // 个位不能为偶数, 
    public static boolean judge(int num) {
        // 不足两位数
        if (num / 10 == 0) {
            return false;
        }
        ArrayList<Integer> list = new ArrayList<>();
        while(num % 10 != 0) {
            list.add(num % 10);
            num /= 10;
        }
        for (int i = 0; i < list.size(); i++) {
            for (int j = 0; j < list.size(); j++) {
                // 组成两位数 ij
                // 0 3 -> 30
                int num1 = list.get(i) * 10 + list.get(j);
                if (i != j && (num1 > 10) && judge2(num1)) {
                    return true;
                }
            }
        }
        return false;
    }

    // 判断是否是质数, 不能被其他数整除
    public static boolean judge2(int num) {
        for(int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}